# https://cloud.google.com/translate/docs/languages
google = {
    'Abkhaz': 'ab',
    'Acehnese': 'ace',
    'Acholi': 'ach',
    'Afar': 'aa',
    'Afrikaans': 'af',
    'Albanian': 'sq',
    'Alur': 'alz',
    'Amharic': 'am',
    'Arabic': 'ar',
    'Armenian': 'hy',
    'Assamese': 'as',
    'Avar': 'av',
    'Awadhi': 'awa',
    'Aymara': 'ay',
    'Azerbaijani': 'az',
    'Balinese': 'ban',
    'Baluchi': 'bal',
    'Bambara': 'bm',
    'Baoulé': 'bci',
    'Bashkir': 'ba',
    'Basque': 'eu',
    'Batak Karo': 'btx',
    'Batak Simalungun': 'bts',
    'Batak Toba': 'bbc',
    'Belarusian': 'be',
    'Bemba': 'bem',
    'Bengali': 'bn',
    'Betawi': 'bew',
    'Bhojpuri': 'bho',
    'Bikol': 'bik',
    'Bosnian': 'bs',
    'Breton': 'br',
    'Bulgarian': 'bg',
    'Buryat': 'bua',
    'Cantonese': 'yue',
    'Catalan': 'ca',
    'Cebuano': 'ceb',
    'Chamorro': 'ch',
    'Chechen': 'ce',
    'Chichewa': 'ny',
    'Chinese (Simplified)': 'zh-CN',
    'Chinese (Traditional)': 'zh-TW',
    'Chuukese': 'chk',
    'Chuvash': 'cv',
    'Corsican': 'co',
    'Crimean Tatar': 'crh',
    'Croatian': 'hr',
    'Czech': 'cs',
    'Danish': 'da',
    'Dari': 'fa-AF',
    'Dhivehi': 'dv',
    'Dinka': 'din',
    'Dogri': 'doi',
    'Dombe': 'dov',
    'Dutch': 'nl',
    'Dyula': 'dyu',
    'Dzongkha': 'dz',
    'English': 'en',
    'Esperanto': 'eo',
    'Estonian': 'et',
    'Ewe': 'ee',
    'Faroese': 'fo',
    'Fijian': 'fj',
    'Filipino': 'tl',
    'Finnish': 'fi',
    'Fon': 'fon',
    'French': 'fr',
    'Frisian': 'fy',
    'Friulian': 'fur',
    'Fulani': 'ff',
    'Ga': 'gaa',
    'Galician': 'gl',
    'Georgian': 'ka',
    'German': 'de',
    'Greek': 'el',
    'Guarani': 'gn',
    'Gujarati': 'gu',
    'Haitian Creole': 'ht',
    'Hakha Chin': 'cnh',
    'Hausa': 'ha',
    'Hawaiian': 'haw',
    'Hebrew': 'iw',
    'Hiligaynon': 'hil',
    'Hindi': 'hi',
    'Hmong': 'hmn',
    'Hungarian': 'hu',
    'Hunsrik': 'hrx',
    'Iban': 'iba',
    'Icelandic': 'is',
    'Igbo': 'ig',
    'Ilocano': 'ilo',
    'Indonesian': 'id',
    'Irish': 'ga',
    'Italian': 'it',
    'Jamaican Patois': 'jam',
    'Japanese': 'ja',
    'Javanese': 'jw',
    'Jingpo': 'kac',
    'Kalaallisut': 'kl',
    'Kannada': 'kn',
    'Kanuri': 'kr',
    'Kapampangan': 'pam',
    'Kazakh': 'kk',
    'Khasi': 'kha',
    'Khmer': 'km',
    'Kiga': 'cgg',
    'Kikongo': 'kg',
    'Kinyarwanda': 'rw',
    'Kituba': 'ktu',
    'Kokborok': 'trp',
    'Komi': 'kv',
    'Konkani': 'gom',
    'Korean': 'ko',
    'Krio': 'kri',
    'Kurdish (Kurmanji)': 'ku',
    'Kurdish (Sorani)': 'ckb',
    'Kyrgyz': 'ky',
    'Lao': 'lo',
    'Latgalian': 'ltg',
    'Latin': 'la',
    'Latvian': 'lv',
    'Ligurian': 'lij',
    'Limburgish': 'li',
    'Lingala': 'ln',
    'Lithuanian': 'lt',
    'Lombard': 'lmo',
    'Luganda': 'lg',
    'Luo': 'luo',
    'Luxembourgish': 'lb',
    'Macedonian': 'mk',
    'Madurese': 'mad',
    'Maithili': 'mai',
    'Makassar': 'mak',
    'Malagasy': 'mg',
    'Malay': 'ms',
    'Malay (Jawi)': 'ms-Arab',
    'Malayalam': 'ml',
    'Maltese': 'mt',
    'Mam': 'mam',
    'Manx': 'gv',
    'Maori': 'mi',
    'Marathi': 'mr',
    'Marshallese': 'mh',
    'Marwadi': 'mwr',
    'Mauritian Creole': 'mfe',
    'Meadow Mari': 'chm',
    'Meiteilon (Manipuri)': 'mni-Mtei',
    'Minang': 'min',
    'Mizo': 'lus',
    'Mongolian': 'mn',
    'Myanmar (Burmese)': 'my',
    'Nahuatl (Eastern Huasteca)': 'nhe',
    'Ndau': 'ndc-ZW',
    'Ndebele (South)': 'nr',
    'Nepalbhasa (Newari)': 'new',
    'Nepali': 'ne',
    'NKo': 'bm-Nkoo',
    'Norwegian': 'no',
    'Nuer': 'nus',
    'Occitan': 'oc',
    'Odia (Oriya)': 'or',
    'Oromo': 'om',
    'Ossetian': 'os',
    'Pangasinan': 'pag',
    'Papiamento': 'pap',
    'Pashto': 'ps',
    'Persian': 'fa',
    'Polish': 'pl',
    'Portuguese (Brazil)': 'pt',
    'Portuguese (Portugal)': 'pt-PT',
    'Punjabi (Gurmukhi)': 'pa',
    'Punjabi (Shahmukhi)': 'pa-Arab',
    'Quechua': 'qu',
    'Qʼeqchiʼ': 'kek',
    'Romani': 'rom',
    'Romanian': 'ro',
    'Rundi': 'rn',
    'Russian': 'ru',
    'Sami (North)': 'se',
    'Samoan': 'sm',
    'Sango': 'sg',
    'Sanskrit': 'sa',
    'Santali': 'sat-Latn',
    'Scots Gaelic': 'gd',
    'Sepedi': 'nso',
    'Serbian': 'sr',
    'Sesotho': 'st',
    'Seychellois Creole': 'crs',
    'Shan': 'shn',
    'Shona': 'sn',
    'Sicilian': 'scn',
    'Silesian': 'szl',
    'Sindhi': 'sd',
    'Sinhala': 'si',
    'Slovak': 'sk',
    'Slovenian': 'sl',
    'Somali': 'so',
    'Spanish': 'es',
    'Sundanese': 'su',
    'Susu': 'sus',
    'Swahili': 'sw',
    'Swati': 'ss',
    'Swedish': 'sv',
    'Tahitian': 'ty',
    'Tajik': 'tg',
    'Tamazight': 'ber-Latn',
    'Tamazight (Tifinagh)': 'ber',
    'Tamil': 'ta',
    'Tatar': 'tt',
    'Telugu': 'te',
    'Tetum': 'tet',
    'Thai': 'th',
    'Tibetan': 'bo',
    'Tigrinya': 'ti',
    'Tiv': 'tiv',
    'Tok Pisin': 'tpi',
    'Tongan': 'to',
    'Tsonga': 'ts',
    'Tswana': 'tn',
    'Tulu': 'tcy',
    'Tumbuka': 'tum',
    'Turkish': 'tr',
    'Turkmen': 'tk',
    'Tuvan': 'tyv',
    'Twi': 'ak',
    'Udmurt': 'udm',
    'Ukrainian': 'uk',
    'Urdu': 'ur',
    'Uyghur': 'ug',
    'Uzbek': 'uz',
    'Venda': 've',
    'Venetian': 'vec',
    'Vietnamese': 'vi',
    'Waray': 'war',
    'Welsh': 'cy',
    'Wolof': 'wo',
    'Xhosa': 'xh',
    'Yakut': 'sah',
    'Yiddish': 'yi',
    'Yoruba': 'yo',
    'Yucatec Maya': 'yua',
    'Zapotec': 'zap',
    'Zulu': 'zu',
}

anthropic = {
    'Abkhaz': 'ab',
    'Acehnese': 'ace',
    'Acholi': 'ach',
    'Afar': 'aa',
    'Afrikaans': 'af',
    'Albanian': 'sq',
    'Alur': 'alz',
    'Amharic': 'am',
    'Arabic': 'ar',
    'Armenian': 'hy',
    'Assamese': 'as',
    'Avar': 'av',
    'Awadhi': 'awa',
    'Aymara': 'ay',
    'Azerbaijani': 'az',
    'Balinese': 'ban',
    'Baluchi': 'bal',
    'Bambara': 'bm',
    'Baoulé': 'bci',
    'Bashkir': 'ba',
    'Basque': 'eu',
    'Batak Karo': 'btx',
    'Batak Simalungun': 'bts',
    'Batak Toba': 'bbc',
    'Belarusian': 'be',
    'Bemba': 'bem',
    'Bengali': 'bn',
    'Betawi': 'bew',
    'Bhojpuri': 'bho',
    'Bikol': 'bik',
    'Bosnian': 'bs',
    'Breton': 'br',
    'Bulgarian': 'bg',
    'Buryat': 'bua',
    'Cantonese': 'yue',
    'Catalan': 'ca',
    'Cebuano': 'ceb',
    'Chamorro': 'ch',
    'Chechen': 'ce',
    'Chichewa': 'ny',
    'Chinese (Simplified)': 'zh-CN',
    'Chinese (Traditional)': 'zh-TW',
    'Chuukese': 'chk',
    'Chuvash': 'cv',
    'Corsican': 'co',
    'Crimean Tatar': 'crh',
    'Croatian': 'hr',
    'Czech': 'cs',
    'Danish': 'da',
    'Dari': 'fa-AF',
    'Dhivehi': 'dv',
    'Dinka': 'din',
    'Dogri': 'doi',
    'Dombe': 'dov',
    'Dutch': 'nl',
    'Dyula': 'dyu',
    'Dzongkha': 'dz',
    'English': 'en',
    'Esperanto': 'eo',
    'Estonian': 'et',
    'Ewe': 'ee',
    'Faroese': 'fo',
    'Fijian': 'fj',
    'Filipino': 'tl',
    'Finnish': 'fi',
    'Fon': 'fon',
    'French': 'fr',
    'Frisian': 'fy',
    'Friulian': 'fur',
    'Fulani': 'ff',
    'Ga': 'gaa',
    'Galician': 'gl',
    'Georgian': 'ka',
    'German': 'de',
    'Greek': 'el',
    'Guarani': 'gn',
    'Gujarati': 'gu',
    'Haitian Creole': 'ht',
    'Hakha Chin': 'cnh',
    'Hausa': 'ha',
    'Hawaiian': 'haw',
    'Hebrew': 'iw',
    'Hebrew (with Niqqud)': 'iw',
    'Hiligaynon': 'hil',
    'Hindi': 'hi',
    'Hmong': 'hmn',
    'Hungarian': 'hu',
    'Hunsrik': 'hrx',
    'Iban': 'iba',
    'Icelandic': 'is',
    'Igbo': 'ig',
    'Ilocano': 'ilo',
    'Indonesian': 'id',
    'Irish': 'ga',
    'Italian': 'it',
    'Jamaican Patois': 'jam',
    'Japanese': 'ja',
    'Javanese': 'jw',
    'Jingpo': 'kac',
    'Kalaallisut': 'kl',
    'Kannada': 'kn',
    'Kanuri': 'kr',
    'Kapampangan': 'pam',
    'Kazakh': 'kk',
    'Khasi': 'kha',
    'Khmer': 'km',
    'Kiga': 'cgg',
    'Kikongo': 'kg',
    'Kinyarwanda': 'rw',
    'Kituba': 'ktu',
    'Kokborok': 'trp',
    'Komi': 'kv',
    'Konkani': 'gom',
    'Korean': 'ko',
    'Krio': 'kri',
    'Kurdish (Kurmanji)': 'ku',
    'Kurdish (Sorani)': 'ckb',
    'Kyrgyz': 'ky',
    'Lao': 'lo',
    'Latgalian': 'ltg',
    'Latin': 'la',
    'Latvian': 'lv',
    'Ligurian': 'lij',
    'Limburgish': 'li',
    'Lingala': 'ln',
    'Lithuanian': 'lt',
    'Lombard': 'lmo',
    'Luganda': 'lg',
    'Luo': 'luo',
    'Luxembourgish': 'lb',
    'Macedonian': 'mk',
    'Madurese': 'mad',
    'Maithili': 'mai',
    'Makassar': 'mak',
    'Malagasy': 'mg',
    'Malay': 'ms',
    'Malay (Jawi)': 'ms-Arab',
    'Malayalam': 'ml',
    'Maltese': 'mt',
    'Mam': 'mam',
    'Manx': 'gv',
    'Maori': 'mi',
    'Marathi': 'mr',
    'Marshallese': 'mh',
    'Marwadi': 'mwr',
    'Mauritian Creole': 'mfe',
    'Meadow Mari': 'chm',
    'Meiteilon (Manipuri)': 'mni-Mtei',
    'Minang': 'min',
    'Mizo': 'lus',
    'Mongolian': 'mn',
    'Myanmar (Burmese)': 'my',
    'Nahuatl (Eastern Huasteca)': 'nhe',
    'Ndau': 'ndc-ZW',
    'Ndebele (South)': 'nr',
    'Nepalbhasa (Newari)': 'new',
    'Nepali': 'ne',
    'NKo': 'bm-Nkoo',
    'Norwegian': 'no',
    'Nuer': 'nus',
    'Occitan': 'oc',
    'Odia (Oriya)': 'or',
    'Oromo': 'om',
    'Ossetian': 'os',
    'Pangasinan': 'pag',
    'Papiamento': 'pap',
    'Pashto': 'ps',
    'Persian': 'fa',
    'Polish': 'pl',
    'Portuguese (Brazil)': 'pt',
    'Portuguese (Portugal)': 'pt-PT',
    'Punjabi (Gurmukhi)': 'pa',
    'Punjabi (Shahmukhi)': 'pa-Arab',
    'Quechua': 'qu',
    'Qʼeqchiʼ': 'kek',
    'Romani': 'rom',
    'Romanian': 'ro',
    'Rundi': 'rn',
    'Russian': 'ru',
    'Sami (North)': 'se',
    'Samoan': 'sm',
    'Sango': 'sg',
    'Sanskrit': 'sa',
    'Santali': 'sat-Latn',
    'Scots Gaelic': 'gd',
    'Sepedi': 'nso',
    'Serbian': 'sr',
    'Sesotho': 'st',
    'Seychellois Creole': 'crs',
    'Shan': 'shn',
    'Shona': 'sn',
    'Sicilian': 'scn',
    'Silesian': 'szl',
    'Sindhi': 'sd',
    'Sinhala': 'si',
    'Slovak': 'sk',
    'Slovenian': 'sl',
    'Somali': 'so',
    'Spanish': 'es',
    'Sundanese': 'su',
    'Susu': 'sus',
    'Swahili': 'sw',
    'Swati': 'ss',
    'Swedish': 'sv',
    'Tahitian': 'ty',
    'Tajik': 'tg',
    'Tamazight': 'ber-Latn',
    'Tamazight (Tifinagh)': 'ber',
    'Tamil': 'ta',
    'Tatar': 'tt',
    'Telugu': 'te',
    'Tetum': 'tet',
    'Thai': 'th',
    'Tibetan': 'bo',
    'Tigrinya': 'ti',
    'Tiv': 'tiv',
    'Tok Pisin': 'tpi',
    'Tongan': 'to',
    'Tsonga': 'ts',
    'Tswana': 'tn',
    'Tulu': 'tcy',
    'Tumbuka': 'tum',
    'Turkish': 'tr',
    'Turkmen': 'tk',
    'Tuvan': 'tyv',
    'Twi': 'ak',
    'Udmurt': 'udm',
    'Ukrainian': 'uk',
    'Urdu': 'ur',
    'Uyghur': 'ug',
    'Uzbek': 'uz',
    'Venda': 've',
    'Venetian': 'vec',
    'Vietnamese': 'vi',
    'Waray': 'war',
    'Welsh': 'cy',
    'Wolof': 'wo',
    'Xhosa': 'xh',
    'Yakut': 'sah',
    'Yiddish': 'yi',
    'Yoruba': 'yo',
    'Yucatec Maya': 'yua',
    'Zapotec': 'zap',
    'Zulu': 'zu',
}

gemini = {
    'Arabic': 'ar',
    'Bengali': 'bn',
    'Bulgarian': 'bg',
    'Chinese (Simplified)': 'zh',
    'Chinese (Traditional)': 'zh',
    'Croatian': 'hr',
    'Czech': 'cs',
    'Danish': 'da',
    'Dutch': 'nl',
    'English': 'en',
    'Estonian': 'et',
    'Finnish': 'fi',
    'French': 'fr',
    'German': 'de',
    'Greek': 'el',
    'Hebrew': 'iw',
    'Hindi': 'hi',
    'Hungarian': 'hu',
    'Indonesian': 'id',
    'Italian': 'it',
    'Japanese': 'ja',
    'Korean': 'ko',
    'Latvian': 'lv',
    'Lithuanian': 'lt',
    'Norwegian': 'no',
    'Persian': 'fa',
    'Polish': 'pl',
    'Portuguese': 'pt',
    'Romanian': 'ro',
    'Russian': 'ru',
    'Serbian': 'sr',
    'Slovak': 'sk',
    'Slovenian': 'sl',
    'Spanish': 'es',
    'Swahili': 'sw',
    'Swedish': 'sv',
    'Thai': 'th',
    'Turkish': 'tr',
    'Ukrainian': 'uk',
    'Vietnamese': "v'i'"
}

# https://developers.deepl.com/docs/resources/supported-languages
deepl = {
    'source': {
        'Arabic': 'AR',
        'Bulgarian': 'BG',
        'Czech': 'CS',
        'Danish': 'DA',
        'German': 'DE',
        'Greek': 'EL',
        'English (all variants)': 'EN',
        'Spanish': 'ES',
        'Estonian': 'ET',
        'Finnish': 'FI',
        'French': 'FR',
        'Hungarian': 'HU',
        'Indonesian': 'ID',
        'Italian': 'IT',
        'Japanese': 'JA',
        'Korean': 'KO',
        'Lithuanian': 'LT',
        'Latvian': 'LV',
        'Norwegian Bokmål': 'NB',
        'Dutch': 'NL',
        'Polish': 'PL',
        'Portuguese (all variants)': 'PT',
        'Romanian': 'RO',
        'Russian': 'RU',
        'Slovak': 'SK',
        'Slovenian': 'SL',
        'Swedish': 'SV',
        'Turkish': 'TR',
        'Ukrainian': 'UK',
        'Chinese (all variants)': 'ZH',
    },
    'target': {
        'Arabic': 'AR',
        'Bulgarian': 'BG',
        'Czech': 'CS',
        'Danish': 'DA',
        'German': 'DE',
        'Greek': 'EL',
        'English': 'EN',
        'English (British)': 'EN-GB',
        'English (American)': 'EN-US',
        'Spanish': 'ES',
        'Estonian': 'ET',
        'Finnish': 'FI',
        'French': 'FR',
        'Hungarian': 'HU',
        'Indonesian': 'ID',
        'Italian': 'IT',
        'Japanese': 'JA',
        'Korean': 'KO',
        'Lithuanian': 'LT',
        'Latvian': 'LV',
        'Norwegian Bokmål': 'NB',
        'Dutch': 'NL',
        'Polish': 'PL',
        'Portuguese': 'PT',
        'Portuguese (Brazilian)': 'PT-BR',
        'Portuguese (international)': 'PT-PT',
        'Romanian': 'RO',
        'Russian': 'RU',
        'Slovak': 'SK',
        'Slovenian': 'SL',
        'Swedish': 'SV',
        'Turkish': 'TR',
        'Ukrainian': 'UK',
        'Chinese': 'ZH',
        'Chinese (simplified)': 'ZH-HANS',
        'Chinese (traditional)': 'ZH-HANT',
    }
}

microsoft = {
    'Afrikaans': 'af',
    'Albanian': 'sq',
    'Amharic': 'am',
    'Arabic': 'ar',
    'Armenian': 'hy',
    'Assamese': 'as',
    'Azerbaijani (Latin)': 'az',
    'Bangla': 'bn',
    'Bashkir': 'ba',
    'Basque': 'eu',
    'Bosnian (Latin)': 'bs',
    'Bulgarian': 'bg',
    'Cantonese (Traditional)': 'yue',
    'Catalan': 'ca',
    'Chinese (Literary)': 'lzh',
    'Chinese Simplified': 'zh-Hans',
    'Chinese Traditional': 'zh-Hant',
    'Croatian': 'hr',
    'Czech': 'cs',
    'Danish': 'da',
    'Dari': 'prs',
    'Divehi': 'dv',
    'Dutch': 'nl',
    'English': 'en',
    'Estonian': 'et',
    'Faroese': 'fo',
    'Fijian': 'fj',
    'Filipino': 'fil',
    'Finnish': 'fi',
    'French': 'fr',
    'French (Canada)': 'fr-ca',
    'Galician': 'gl',
    'Georgian': 'ka',
    'German': 'de',
    'Greek': 'el',
    'Gujarati': 'gu',
    'Haitian Creole': 'ht',
    'Hebrew': 'he',
    'Hindi': 'hi',
    'Hmong Daw (Latin)': 'mww',
    'Hungarian': 'hu',
    'Icelandic': 'is',
    'Indonesian': 'id',
    'Inuinnaqtun': 'ikt',
    'Inuktitut': 'iu',
    'Inuktitut (Latin)': 'iu-Latn',
    'Irish': 'ga',
    'Italian': 'it',
    'Japanese': 'ja',
    'Kannada': 'kn',
    'Kazakh': 'kk',
    'Khmer': 'km',
    'Klingon': 'tlh-Latn',
    'Klingon (plqaD)': 'tlh-Piqd',
    'Korean': 'ko',
    'Kurdish (Central)': 'ku',
    'Kurdish (Northern)': 'kmr',
    'Kyrgyz (Cyrillic)': 'ky',
    'Lao': 'lo',
    'Latvian': 'lv',
    'Lithuanian': 'lt',
    'Macedonian': 'mk',
    'Malagasy': 'mg',
    'Malay (Latin)': 'ms',
    'Malayalam': 'ml',
    'Maltese': 'mt',
    'Maori': 'mi',
    'Marathi': 'mr',
    'Mongolian (Cyrillic)': 'mn-Cyrl',
    'Mongolian (Traditional)': 'mn-Mong',
    'Myanmar': 'my',
    'Nepali': 'ne',
    'Norwegian': 'nb',
    'Odia': 'or',
    'Pashto': 'ps',
    'Persian': 'fa',
    'Polish': 'pl',
    'Portuguese (Brazil)': 'pt',
    'Portuguese (Portugal)': 'pt-pt',
    'Punjabi': 'pa',
    'Queretaro Otomi': 'otq',
    'Romanian': 'ro',
    'Russian': 'ru',
    'Samoan (Latin)': 'sm',
    'Serbian (Cyrillic)': 'sr-Cyrl',
    'Serbian (Latin)': 'sr-Latn',
    'Slovak': 'sk',
    'Slovenian': 'sl',
    'Somali (Arabic)': 'so',
    'Spanish': 'es',
    'Swahili (Latin)': 'sw',
    'Swedish': 'sv',
    'Tahitian': 'ty',
    'Tamil': 'ta',
    'Tatar (Latin)': 'tt',
    'Telugu': 'te',
    'Thai': 'th',
    'Tibetan': 'bo',
    'Tigrinya': 'ti',
    'Tongan': 'to',
    'Turkish': 'tr',
    'Turkmen (Latin)': 'tk',
    'Ukrainian': 'uk',
    'Upper Sorbian': 'hsb',
    'Urdu': 'ur',
    'Uyghur (Arabic)': 'ug',
    'Uzbek (Latin': 'uz',
    'Vietnamese': 'vi',
    'Welsh': 'cy',
    'Yucatec Maya': 'yua',
    'Zulu': 'zu'
}

youdao = {
    '中文': 'zh-CHS',
    '中文繁体': 'zh-CHT',
    '英文': 'en',
    '日文': 'ja',
    '韩文': 'ko',
    '法文': 'fr',
    '西班牙文': 'es',
    '葡萄牙文': 'pt',
    '意大利文': 'it',
    '俄文': 'ru',
    '越南文': 'vi',
    '德文': 'de',
    '阿拉伯文': 'ar',
    '印尼文': 'id',
    '南非荷兰语': 'af',
    '波斯尼亚语': 'bs',
    '保加利亚语': 'bg',
    '粤语': 'yue',
    '加泰隆语': 'ca',
    '克罗地亚语': 'hr',
    '捷克语': 'cs',
    '丹麦语': 'da',
    '荷兰语': 'nl',
    '爱沙尼亚语': 'et',
    '斐济语': 'fj',
    '芬兰语': 'fi',
    '希腊语': 'el',
    '海地克里奥尔语': 'ht',
    '希伯来语': 'he',
    '印地语': 'hi',
    '白苗语': 'mww',
    '匈牙利语': 'hu',
    '斯瓦希里语': 'sw',
    '克林贡语': 'tlh',
    '拉脱维亚语': 'lv',
    '立陶宛语': 'lt',
    '马来语': 'ms',
    '马耳他语': 'mt',
    '挪威语': 'no',
    '波斯语': 'fa',
    '波兰语': 'pl',
    '克雷塔罗奥托米语': 'otq',
    '罗马尼亚语': 'ro',
    '塞尔维亚语(西里尔文)': 'sr-Cyrl',
    '塞尔维亚语(拉丁文)': 'sr-Latn',
    '斯洛伐克语': 'sk',
    '斯洛文尼亚语': 'sl',
    '瑞典语': 'sv',
    '塔希提语': 'ty',
    '泰语': 'th',
    '汤加语': 'to',
    '土耳其语': 'tr',
    '乌克兰语': 'uk',
    '乌尔都语': 'ur',
    '威尔士语': 'cy',
    '尤卡坦玛雅语': 'yua',
    '阿尔巴尼亚语': 'sq',
    '阿姆哈拉语': 'am',
    '亚美尼亚语': 'hy',
    '阿塞拜疆语': 'az',
    '孟加拉语': 'bn',
    '巴斯克语': 'eu',
    '白俄罗斯语': 'be',
    '宿务语': 'ceb',
    '科西嘉语': 'co',
    '世界语': 'eo',
    '菲律宾语': 'tl',
    '弗里西语': 'fy',
    '加利西亚语': 'gl',
    '格鲁吉亚语': 'ka',
    '古吉拉特语': 'gu',
    '豪萨语': 'ha',
    '夏威夷语': 'haw',
    '冰岛语': 'is',
    '伊博语': 'ig',
    '爱尔兰语': 'ga',
    '爪哇语': 'jw',
    '卡纳达语': 'kn',
    '哈萨克语': 'kk',
    '高棉语': 'km',
    '库尔德语': 'ku',
    '柯尔克孜语': 'ky',
    '老挝语': 'lo',
    '拉丁语': 'la',
    '卢森堡语': 'lb',
    '马其顿语': 'mk',
    '马尔加什语': 'mg',
    '马拉雅拉姆语': 'ml',
    '毛利语': 'mi',
    '马拉地语': 'mr',
    '蒙古语': 'mn',
    '缅甸语': 'my',
    '尼泊尔语': 'ne',
    '齐切瓦语': 'ny',
    '普什图语': 'ps',
    '旁遮普语': 'pa',
    '萨摩亚语': 'sm',
    '苏格兰盖尔语': 'gd',
    '塞索托语': 'st',
    '修纳语': 'sn',
    '信德语': 'sd',
    '僧伽罗语': 'si',
    '索马里语': 'so',
    '巽他语': 'su',
    '塔吉克语': 'tg',
    '泰米尔语': 'ta',
    '泰卢固语': 'te',
    '乌兹别克语': 'uz',
    '南非科萨语': 'xh',
    '意第绪语': 'yi',
    '约鲁巴语': 'yo',
    '南非祖鲁语': 'zu'
}


baidu = {
    '阿拉伯语': 'ara',
    '爱尔兰语': 'gle',
    '奥克语': 'oci',
    '阿尔巴尼亚语': 'alb',
    '阿尔及利亚阿拉伯语': 'arq',
    '阿肯语': 'aka',
    '阿拉贡语': 'arg',
    '阿姆哈拉语': 'amh',
    '阿萨姆语': 'asm',
    '艾马拉语': 'aym',
    '阿塞拜疆语': 'aze',
    '阿斯图里亚斯语': 'ast',
    '奥塞梯语': 'oss',
    '爱沙尼亚语': 'est',
    '奥杰布瓦语': 'oji',
    '奥里亚语': 'ori',
    '奥罗莫语': 'orm',
    '波兰语': 'pl',
    '波斯语': 'per',
    '布列塔尼语': 'bre',
    '巴什基尔语': 'bak',
    '巴斯克语': 'baq',
    '巴西葡萄牙语': 'pot',
    '白俄罗斯语': 'bel',
    '柏柏尔语': 'ber',
    '邦板牙语': 'pam',
    '保加利亚语': 'bul',
    '北方萨米语': 'sme',
    '北索托语': 'ped',
    '本巴语': 'bem',
    '比林语': 'bli',
    '比斯拉马语': 'bis',
    '俾路支语': 'bal',
    '冰岛语': 'ice',
    '波斯尼亚语': 'bos',
    '博杰普尔语': 'bho',
    '楚瓦什语': 'chv',
    '聪加语': 'tso',
    '丹麦语': 'dan',
    '德语': 'de',
    '鞑靼语': 'tat',
    '掸语': 'sha',
    '德顿语': 'tet',
    '迪维希语': 'div',
    '低地德语': 'log',
    '俄语': 'ru',
    '法语': 'fra',
    '菲律宾语': 'fil',
    '芬兰语': 'fin',
    '梵语': 'san',
    '弗留利语': 'fri',
    '富拉尼语': 'ful',
    '法罗语': 'fao',
    '盖尔语': 'gla',
    '刚果语': 'kon',
    '高地索布语': 'ups',
    '高棉语': 'hkm',
    '格陵兰语': 'kal',
    '格鲁吉亚语': 'geo',
    '古吉拉特语': 'guj',
    '古希腊语': 'gra',
    '古英语': 'eno',
    '瓜拉尼语': 'grn',
    '韩语': 'kor',
    '荷兰语': 'nl',
    '胡帕语': 'hup',
    '哈卡钦语': 'hak',
    '海地语': 'ht',
    '黑山语': 'mot',
    '豪萨语': 'hau',
    '吉尔吉斯语': 'kir',
    '加利西亚语': 'glg',
    '加拿大法语': 'frn',
    '加泰罗尼亚语': 'cat',
    '捷克语': 'cs',
    '卡拜尔语': 'kab',
    '卡纳达语': 'kan',
    '卡努里语': 'kau',
    '卡舒比语': 'kah',
    '康瓦尔语': 'cor',
    '科萨语': 'xho',
    '科西嘉语': 'cos',
    '克里克语': 'cre',
    '克里米亚鞑靼语': 'cri',
    '克林贡语': 'kli',
    '克罗地亚语': 'hrv',
    '克丘亚语': 'que',
    '克什米尔语': 'kas',
    '孔卡尼语': 'kok',
    '库尔德语': 'kur',
    '拉丁语': 'lat',
    '老挝语': 'lao',
    '罗马尼亚语': 'rom',
    '拉特加莱语': 'lag',
    '拉脱维亚语': 'lav',
    '林堡语': 'lim',
    '林加拉语': 'lin',
    '卢干达语': 'lug',
    '卢森堡语': 'ltz',
    '卢森尼亚语': 'ruy',
    '卢旺达语': 'kin',
    '立陶宛语': 'lit',
    '罗曼什语': 'roh',
    '罗姆语': 'ro',
    '逻辑语': 'loj',
    '马来语': 'may',
    '缅甸语': 'bur',
    '马拉地语': 'mar',
    '马拉加斯语': 'mg',
    '马拉雅拉姆语': 'mal',
    '马其顿语': 'mac',
    '马绍尔语': 'mah',
    '迈蒂利语': 'mai',
    '曼克斯语': 'glv',
    '毛里求斯克里奥尔语': 'mau',
    '毛利语': 'mao',
    '孟加拉语': 'ben',
    '马耳他语': 'mlt',
    '苗语': 'hmn',
    '挪威语': 'nor',
    '那不勒斯语': 'nea',
    '南恩德贝莱语': 'nbl',
    '南非荷兰语': 'afr',
    '南索托语': 'sot',
    '尼泊尔语': 'nep',
    '葡萄牙语': 'pt',
    '旁遮普语': 'pan',
    '帕皮阿门托语': 'pap',
    '普什图语': 'pus',
    '齐切瓦语': 'nya',
    '契维语': 'twi',
    '切罗基语': 'chr',
    '日语': 'jp',
    '瑞典语': 'swe',
    '萨丁尼亚语': 'srd',
    '萨摩亚语': 'sm',
    '塞尔维亚-克罗地亚语': 'sec',
    '塞尔维亚语': 'srp',
    '桑海语': 'sol',
    '僧伽罗语': 'sin',
    '世界语': 'epo',
    '书面挪威语': 'nob',
    '斯洛伐克语': 'sk',
    '斯洛文尼亚语': 'slo',
    '斯瓦希里语': 'swa',
    '塞尔维亚语（西里尔）': 'src',
    '索马里语': 'som',
    '泰语': 'th',
    '土耳其语': 'tr',
    '塔吉克语': 'tgk',
    '泰米尔语': 'tam',
    '他加禄语': 'tgl',
    '提格利尼亚语': 'tir',
    '泰卢固语': 'tel',
    '突尼斯阿拉伯语': 'tua',
    '土库曼语': 'tuk',
    '乌克兰语': 'ukr',
    '瓦隆语': 'wln',
    '威尔士语': 'wel',
    '文达语': 'ven',
    '沃洛夫语': 'wol',
    '乌尔都语': 'urd',
    '西班牙语': 'spa',
    '希伯来语': 'heb',
    '希腊语': 'el',
    '匈牙利语': 'hu',
    '西弗里斯语': 'fry',
    '西里西亚语': 'sil',
    '希利盖农语': 'hil',
    '下索布语': 'los',
    '夏威夷语': 'haw',
    '新挪威语': 'nno',
    '西非书面语': 'nqo',
    '信德语': 'snd',
    '修纳语': 'sna',
    '宿务语': 'ceb',
    '叙利亚语': 'syr',
    '巽他语': 'sun',
    '英语': 'en',
    '印地语': 'hi',
    '印尼语': 'id',
    '意大利语': 'it',
    '越南语': 'vie',
    '意第绪语': 'yid',
    '因特语': 'ina',
    '亚齐语': 'ach',
    '印古什语': 'ing',
    '伊博语': 'ibo',
    '伊多语': 'ido',
    '约鲁巴语': 'yor',
    '亚美尼亚语': 'arm',
    '伊努克提图特语': 'iku',
    '伊朗语': 'ir',
    '中文(简体)': 'zh',
    '中文(繁体)': 'cht',
    '中文(文言文)': 'wyw',
    '中文(粤语)': 'yue',
    '扎扎其语': 'zaz',
    '中古法语': 'frm',
    '祖鲁语': 'zul',
    '爪哇语': 'jav'
}

lang_directionality = {
    'iw': 'rtl',
    'ar': 'rtl',
    'en': 'ltr',
    'es': 'ltr',
    'it': 'ltr',
    'de': 'ltr'
}
